home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 007a / autodl20.zip / AUTODIAL.BAS next >
BASIC Source File  |  1992-01-20  |  17KB  |  578 lines

  1. DIM NAM$(500), NUMBER$(500), E$(76)
  2. OPEN "AUTODIAL.CFG" FOR INPUT AS #1
  3. INPUT #1, FILENAM$, BACK, FRONT, FRONTSEL, BACKSEL, BACKTITLE, FRONTTITLE, PATHDIR$, DIALSTR$, HANGUP$
  4. CLOSE #1
  5. LOCATE 1, 1, 0                         'Turns cursor invisible
  6. OPEN "AUX" FOR OUTPUT AS #2            'Opens modem file
  7. DEF SEG = &HB800                       'Sets Bload def seg
  8. BLOAD "AUTODIAL.BLD", 0                'Bloads intro screen
  9. DELAY 2
  10. COLOR FRONTTITLE, BACKTITLE
  11. ON ERROR GOTO MAINERR
  12. OPEN PATHDIR$ + "\" + LEFT$(FILENAM$, 8) + ".DIR" FOR INPUT AS #1
  13. INPUT #1, NUMBER
  14. FOR A = 1 TO NUMBER
  15. INPUT #1, NAM$(A)                      'Loads from default .DIR file
  16. INPUT #1, NUMBER$(A)
  17. NEXT A
  18. CLOSE #1
  19. MAIN:
  20. CLOSE #1, #3
  21. ON ERROR GOTO MAINERR
  22. TEMP$ = ""
  23. COLOR FRONT, BACK
  24. CLS
  25. COLOR 0, 15
  26. PRINT "    File          Options        "; : COLOR 8: PRINT "AutoDialer 2.0"; SPC(34);
  27. LOCATE 2, 1, 0
  28. COLOR FRONTTITLE, BACKTITLE
  29. PRINT "Name"; TAB(60); "Number"        'Prints all numbers on screen
  30. COLOR FRONT, BACK
  31. IF NUMBER < 21 THEN PAGE = NUMBER
  32. IF NUMBER > 20 THEN PAGE = 21
  33. FOR A = 1 TO PAGE
  34. PRINT NAM$(A); TAB(60); NUMBER$(A)
  35. NEXT A
  36. MAIN2:
  37. ENDLINE = PAGE + 2
  38. L = 3
  39. LOCATE L, 1, 0
  40. COLOR FRONTSEL, BACKSEL
  41. PRINT NAM$(1); TAB(60); NUMBER$(1);
  42. KEYREAD:        
  43. A$ = INKEY$                            'Reads keyboard
  44. IF A$ = CHR$(0) + CHR$(72) THEN GOTO UP
  45. IF A$ = CHR$(0) + CHR$(80) THEN GOTO DOWN
  46. IF A$ = CHR$(13) THEN GOTO DIAL
  47. IF A$ = CHR$(0) + CHR$(59) THEN GOTO HELP
  48. IF A$ = CHR$(0) + CHR$(63) THEN GOTO EDIT
  49. IF A$ = CHR$(0) + CHR$(33) THEN GOTO FILE
  50. IF A$ = CHR$(0) + CHR$(24) THEN GOTO OPT
  51. IF A$ = CHR$(0) + CHR$(16) THEN GOTO QUIT
  52. IF UCASE$(A$) = "H" THEN GOTO HANGUP
  53. GOTO KEYREAD
  54. UP:
  55. COLOR FRONT, BACK                      'Moves highlighter up
  56. LOCATE L, 1
  57. NUM = 21 - LEN(NUMBER$(L - 2))
  58. PRINT NAM$(L - 2); TAB(60); NUMBER$(L - 2); SPC(NUM);
  59. L = L - 1
  60. IF L = 2 THEN L = ENDLINE
  61. LOCATE L, 1: COLOR FRONTSEL, BACKSEL: PRINT NAM$(L - 2); TAB(60); NUMBER$(L - 2)
  62. GOTO KEYREAD
  63. DOWN:                                  'Moves highlighter down
  64. COLOR FRONT, BACK
  65. LOCATE L, 1: PRINT NAM$(L - 2); TAB(60); NUMBER$(L - 2)
  66. L = L + 1
  67. IF L = ENDLINE + 1 THEN L = 3
  68. LOCATE L, 1
  69. COLOR FRONTSEL, BACKSEL
  70. PRINT NAM$(L - 2); TAB(60); NUMBER$(L - 2)
  71. GOTO KEYREAD
  72. DIAL:
  73. PRINT #2, DIALSTR$ + NUMBER$(L - 2)    'Dials number
  74. 'This part scans and stores characters where the dialing window will be.
  75. FOR X = 12 TO 14: FOR Y = 20 TO 60
  76. A$(X - 11) = A$(X - 11) + CHR$(SCREEN(X, Y))
  77. NEXT Y: NEXT X
  78. COLOR 31, 4                            'Displays dialing window,
  79. LOCATE 12, 20
  80. PRINT CHR$(201); STRING$(38, 205); CHR$(187)
  81. LOCATE 13, 20
  82. PRINT CHR$(186); "          Pick up the phone"; TAB(59); CHR$(186)
  83. LOCATE 14, 20
  84. PRINT CHR$(200); STRING$(38, 205); CHR$(188)
  85. DELAY 2                                'Waits two seconds,
  86. LOCATE 12, 20
  87. COLOR FRONT, BACK                      'Restores text where window was,
  88. FOR X = 12 TO 14
  89. LOCATE X, 20
  90. PRINT A$(X - 11)
  91. NEXT X
  92. ERASE A$
  93. DELAY 1                                'Waits another second,
  94. PRINT #2, HANGUP$                      'and hangs up the phone.
  95. GOTO KEYREAD
  96. HANGUP:                                'Prints hangup string to modem.
  97. PRINT #2, HANGUP$
  98. GOTO KEYREAD
  99. HELP:
  100. CALL HELP                              'Calls procedure Help
  101. GOTO MAIN
  102. EDIT:
  103. COLOR 15, 9
  104. CLS
  105. PRINT "                            AutoDialer Phone List Editor"
  106. COLOR FRONT
  107. FOR A = 1 TO NUMBER
  108. COLOR 14
  109. PRINT "("; A; ")";
  110. COLOR 7
  111. PRINT NAM$(A); TAB(60); NUMBER$(A)
  112. NEXT A
  113. COLOR 12
  114. PRINT "Press 'A' to add, 'D' to delete, 'I' to insert, 'E' to edit."
  115. IDO:
  116. A$ = UCASE$(INPUT$(1))
  117. IF A$ = "A" THEN GOSUB EDITADD
  118. IF A$ = "D" THEN GOSUB EDITDEL
  119. IF A$ = "I" THEN GOSUB EDITINS
  120. IF A$ = "E" THEN GOSUB EDITEDT
  121. IF A$ = CHR$(27) THEN GOTO MAIN
  122. GOTO IDO
  123. EDITADD:
  124. COLOR 15
  125. INPUT "Name"; NAM$(NUMBER + 1)
  126. INPUT "Number"; NUMBER$(NUMBER + 1)
  127. NUMBER = NUMBER + 1
  128. GOTO EDIT
  129. EDITDEL:
  130. INPUT "What number do you want to delete"; NUM2DEL
  131. FOR A = NUM2DEL TO NUMBER
  132. NAM$(A) = NAM$(A + 1)
  133. NUMBER$(A) = NUMBER$(A + 1)
  134. NEXT A
  135. NUMBER = NUMBER - 1
  136. GOTO EDIT
  137. EDITINS:
  138. COLOR 15
  139. INPUT "Where do you want to insert"; WHERE2INS
  140. FOR A = NUMBER TO WHERE2INS STEP -1
  141. NAM$(A + 1) = NAM$(A)
  142. NUMBER$(A + 1) = NUMBER$(A)
  143. NEXT A
  144. INPUT "Name"; NAM$(WHERE2INS)
  145. INPUT "Number"; NUMBER$(WHERE2INS)
  146. NUMBER = NUMBER + 1
  147. GOTO EDIT
  148. EDITEDT:
  149. COLOR 15
  150. INPUT "What number do you want to edit"; TOEDIT
  151. COLOR 14
  152. PRINT "Press enter to leave the same."
  153. COLOR 15
  154. INPUT "Name"; A$
  155. IF NOT A$ = "" THEN NAM$(TOEDIT) = A$
  156. INPUT "Number"; A$
  157. IF NOT A$ = "" THEN NUMBER$(TOEDIT) = A$
  158. GOTO EDIT
  159. FILE:                                  'Displays file menu
  160. COLOR 7, 0: LOCATE 1, 4
  161. PRINT " File "
  162. LOCATE 2, 2: COLOR 0, 15: PRINT CHR$(218); STRING$(15, 196); CHR$(191)
  163. LOCATE 3, 2: PRINT CHR$(179); : COLOR 15: PRINT "S"; : COLOR 0: PRINT "ave Setup File"; CHR$(179)
  164. LOCATE 4, 2: PRINT CHR$(179); : COLOR 15: PRINT "P"; : COLOR 0: PRINT "rint Directory"; CHR$(179)
  165. LOCATE 5, 2: PRINT CHR$(179); : COLOR 15: PRINT "L"; : COLOR 0: PRINT "oad Directory "; CHR$(179)
  166. LOCATE 6, 2: PRINT CHR$(179); : PRINT "Save "; : COLOR 15: PRINT "D"; : COLOR 0: PRINT "irectory "; CHR$(179)
  167. LOCATE 7, 2: PRINT CHR$(179); : COLOR 15: PRINT "N"; : COLOR 0: PRINT "ew Directory  "; CHR$(179)
  168. LOCATE 8, 2: PRINT CHR$(195); STRING$(15, 196); CHR$(180)
  169. LOCATE 9, 2: PRINT CHR$(179);
  170. COLOR 15
  171. PRINT "Q";
  172. COLOR 0
  173. PRINT "uit      Alt+Q"; CHR$(179)
  174. LOCATE 10, 2
  175. PRINT CHR$(192); STRING$(15, 196); CHR$(217)
  176. GOSUB SHADOWA
  177. MENUKEYFIL:
  178. A$ = UCASE$(INKEY$)                    'Reads capitalized keyboard input
  179. IF A$ = "D" THEN GOTO SAVEDIR
  180. IF A$ = "L" THEN GOTO LOADDIR
  181. IF A$ = "P" THEN GOTO PRINDIR
  182. IF A$ = "S" THEN GOTO SAVESET
  183. IF A$ = "N" THEN GOTO NEWDIR
  184. IF A$ = "Q" THEN GOTO QUIT
  185. IF A$ = CHR$(27) THEN GOTO MAIN
  186. GOTO MENUKEYFIL
  187. SAVEDIR:
  188. LOCATE 15, 40                          'Draws the box
  189. COLOR 15, 3
  190. PRINT CHR$(201); STRING$(18, 205); CHR$(187)
  191. LOCATE 16, 40: PRINT CHR$(186); "Filename: "; TAB(59); CHR$(186)
  192. LOCATE 17, 40: PRINT CHR$(200); STRING$(18, 205); CHR$(188)
  193. LOCATE 16, 51, 1
  194. 'Gets input for filename, max 8 chars
  195. FOR A = 1 TO 8
  196. A$ = INPUT$(1)
  197. IF A$ = CHR$(8) THEN
  198.         IF POS(0) = 51 THEN
  199.                 A = A - 1
  200.                 GOTO 2
  201.         END IF
  202.         TEMP$ = LEFT$(TEMP$, (LEN(TEMP$) - 1))
  203.         LOCATE 16, (POS(0) - 1), 1
  204.         PRINT " ";
  205.         LOCATE 16, (POS(0) - 1)
  206.         A = A - 1
  207.         GOTO 2
  208. END IF
  209. IF A$ = CHR$(13) THEN GOTO WRITEDIR
  210. PRINT UCASE$(A$);
  211. TEMP$ = TEMP$ + A$
  212. 2 NEXT A
  213. WRITEDIR:
  214. OPEN PATHDIR$ + "\" + LEFT$(TEMP$, 8) + ".DIR" FOR OUTPUT AS #3
  215. PRINT #3, NUMBER
  216. FOR A = 1 TO NUMBER: PRINT #3, NAM$(A); ","; NUMBER$(A): NEXT A
  217. CLOSE #3: GOTO MAIN
  218. LOADDIR:
  219. LOCATE 15, 30
  220. COLOR 15, 3
  221. PRINT CHR$(201); STRING$(18, 205); CHR$(187)
  222. LOCATE 16, 30
  223. PRINT CHR$(186); "Filename: "; TAB(49); CHR$(186)
  224. LOCATE 17, 30
  225. PRINT CHR$(200); STRING$(18, 205); CHR$(188)
  226. LOCATE 16, 41
  227. FOR A = 1 TO 8
  228. A$ = INPUT$(1)
  229. IF A$ = CHR$(8) THEN
  230.         IF POS(0) = 41 THEN
  231.                 A = A - 1
  232.                 GOTO 8
  233.         END IF
  234.         TEMP$ = LEFT$(TEMP$, (LEN(TEMP$) - 1))
  235.         LOCATE 16, (POS(0) - 1), 1
  236.         PRINT " ";
  237.         LOCATE 16, (POS(0) - 1)
  238.         A = A - 1
  239.         GOTO 8
  240. END IF
  241. IF A$ = CHR$(13) THEN GOTO READDIR
  242. PRINT UCASE$(A$);
  243. TEMP$ = TEMP$ + A$
  244. 8 NEXT A
  245. READDIR:
  246. ON ERROR GOTO DIRLOADER
  247. OPEN PATHDIR$ + "\" + LEFT$(TEMP$, 8) + ".DIR" FOR INPUT AS #1
  248. INPUT #1, NUMBER
  249. FOR A = 1 TO NUMBER
  250. INPUT #1, NAM$(A)
  251. INPUT #1, NUMBER$(A)
  252. NEXT A
  253. GOTO MAIN
  254. DIRLOADER:
  255. A = ERR
  256. IF A = 53 THEN
  257.         LOCATE 16, 41
  258.         PRINT SPACE$(8)
  259.         LOCATE 16, 31: COLOR 4: PRINT "File not found"
  260.         BEEP
  261.         DELAY 2
  262. END IF
  263. RESUME MAIN
  264. PRINDIR:
  265. ON ERROR GOTO PRINTERR
  266. LPRINT "Name"; TAB(60); "Number"
  267. FOR A = 1 TO NUMBER
  268. LPRINT NAM$(A); TAB(60); NUMBER$(A)
  269. NEXT A
  270. GOTO MAIN
  271. PRINTERR:
  272. IF ERR = 25 THEN GOTO WINERR ELSE RESUME MAIN
  273. WINERR:
  274. LOCATE 10, 15
  275. COLOR 15, 4
  276. LOCATE 15, 30
  277. PRINT CHR$(201); STRING$(18, 205); CHR$(187)
  278. LOCATE 16, 30: PRINT CHR$(186); "Printer not ready"; TAB(49); CHR$(186)
  279. LOCATE 17, 30: PRINT CHR$(200); STRING$(18, 205); CHR$(188)
  280. BEEP
  281. DO: LOOP UNTIL INKEY$ <> ""
  282. RESUME MAIN
  283. SAVESET:
  284. CLOSE #1
  285. OPEN "AUTODIAL.CFG" FOR OUTPUT AS #1
  286. PRINT #1, FILENAM$
  287. PRINT #1, BACK: PRINT #1, FRONT: PRINT #1, FRONTSEL: PRINT #1, BACKSEL: PRINT #1, BACKTITLE: PRINT #1, FRONTTITLE
  288. PRINT #1, PATHDIR$: PRINT #1, DIALSTR$: PRINT #1, HANGUP$
  289. GOTO MAIN
  290. NEWDIR:
  291. ERASE NAM$, NUMBER$
  292. NUMBER = 0
  293. GOTO MAIN
  294. OPT:                                   'Displays options menu
  295. LOCATE 1, 17
  296. COLOR 7, 0: PRINT " Options ": COLOR 0, 15
  297. LOCATE 2, 15: PRINT CHR$(218); STRING$(15, 196); CHR$(191)
  298. LOCATE 3, 15: PRINT CHR$(179); : COLOR 15: PRINT "D"; : COLOR 0: PRINT "efault Dir    "; CHR$(179)
  299. LOCATE 4, 15: PRINT CHR$(179); : COLOR 15: PRINT "C"; : COLOR 0: PRINT "olors...      "; CHR$(179)
  300. LOCATE 5, 15: PRINT CHR$(179); : COLOR 15: PRINT "P"; : COLOR 0: PRINT "hone list     "; CHR$(179)
  301. LOCATE 6, 15: PRINT CHR$(179); : COLOR 15: PRINT "M"; : COLOR 0: PRINT "odem Strings  "; CHR$(179)
  302. LOCATE 7, 15: PRINT CHR$(192); STRING$(15, 196); CHR$(217)
  303. GOSUB SHADOWB
  304. MENUKEYOPT:
  305. A$ = UCASE$(INKEY$)
  306. IF A$ = "D" THEN GOTO DIRDEF
  307. IF A$ = "C" THEN GOTO COLORS
  308. IF A$ = "P" THEN GOTO LSTDEF
  309. IF A$ = "M" THEN GOTO MODEM
  310. IF A$ = CHR$(27) THEN GOTO MAIN
  311. GOTO MENUKEYOPT
  312. DIRDEF:
  313. COLOR 15, 3
  314. LOCATE 15, 44
  315. PRINT CHR$(201); CHR$(205);
  316. COLOR 14: PRINT "Default directory for list files"; : COLOR 15: PRINT CHR$(205); CHR$(187)
  317. LOCATE 16, 44: PRINT CHR$(186); "Pathname: "; TAB(79); CHR$(186)
  318. LOCATE 17, 44: PRINT CHR$(200); STRING$(34, 205); CHR$(188)
  319. LOCATE 16, 55, 1
  320. FOR A = 1 TO 35
  321. A$ = INPUT$(1)
  322. IF A$ = CHR$(8) THEN
  323.         IF POS(0) = 55 THEN
  324.                 A = A - 1
  325.                 GOTO 1
  326.         END IF
  327.         TEMP$ = LEFT$(TEMP$, (LEN(TEMP$) - 1))
  328.         LOCATE 16, (POS(0) - 1), 1
  329.         PRINT " ";
  330.         LOCATE 16, (POS(0) - 1)
  331.         A = A - 1
  332.         GOTO 1
  333. END IF
  334. IF A$ = CHR$(13) THEN GOTO 80
  335. PRINT UCASE$(A$);
  336. TEMP$ = TEMP$ + A$
  337. 1 NEXT A
  338. 80 PATHDIR$ = TEMP$
  339. GOTO MAIN
  340. SHADOWA:
  341. COLOR 8, 0
  342. FOR A = 3 TO 11
  343. LOCATE A, 19: PRINT CHR$(SCREEN(A, 19))
  344. LOCATE A, 20: PRINT CHR$(SCREEN(A, 20))
  345. NEXT A
  346. FOR A = 3 TO 19
  347. LOCATE 11, A: PRINT CHR$(SCREEN(11, A))
  348. NEXT A
  349. RETURN
  350. SHADOWB:
  351. COLOR 8, 0
  352. FOR A = 3 TO 8
  353. LOCATE A, 32: PRINT CHR$(SCREEN(A, 32))
  354. LOCATE A, 33: PRINT CHR$(SCREEN(A, 33))
  355. NEXT A
  356. FOR A = 16 TO 32
  357. LOCATE 8, A
  358. PRINT CHR$(SCREEN(8, A))
  359. NEXT A
  360. RETURN
  361. COLORS:
  362. CALL COLORS: GOTO MAIN
  363. LSTDEF:
  364. CALL LSTDEF
  365. GOTO MAIN
  366. MODEM:
  367. CALL MODEM: GOTO MAIN
  368. MAINERR:
  369. OPEN "AUTODIAL.DAT" FOR INPUT AS #4
  370. FOR A = 1 TO 76
  371. INPUT #4, E$(A)
  372. NEXT A
  373. CLOSE #4
  374. COLOR 15, 4
  375. LOCATE 15, 20: PRINT CHR$(201); STRING$(38, 205); CHR$(187)
  376. LOCATE 16, 20: PRINT CHR$(186); "     Error: "; E$(ERR); TAB(60); CHR$(186)
  377. LOCATE 17, 20: PRINT CHR$(200); STRING$(38, 205); CHR$(188)
  378. BEEP: DELAY 1: RESUME MAIN
  379. QUIT:
  380. COLOR 11, 0
  381. CLS : PRINT "AutoDialer v"; : COLOR 3: PRINT "2.0      ";
  382. COLOR 7: PRINT "Designed by Josh Warner-Burke"
  383. END
  384.  
  385. SUB COLORS
  386. SHARED BACK, FRONT, FRONTSEL, BACKSEL, FRONTTITLE, BACKTITLE, PATHDIR$, DIALSTR$, HANGUP$
  387. X = 0
  388. COLOR 15, 3
  389. LOCATE 12, 25: PRINT CHR$(218); STRING$(23, 196); CHR$(191)
  390. LOCATE 13, 25: PRINT CHR$(179); TAB(49); CHR$(179)
  391. LOCATE 14, 25: PRINT CHR$(179); TAB(49); CHR$(179)
  392. LOCATE 15, 25: PRINT CHR$(179); TAB(49); CHR$(179)
  393. LOCATE 16, 25: PRINT CHR$(192); STRING$(23, 196); CHR$(217)
  394. COLORS2:
  395. COLOR 15, 3: LOCATE 13, 26: PRINT "Normal Text"; TAB(44);
  396. COLOR FRONT, BACK: PRINT "Test"
  397. COLOR 15, 3: LOCATE 14, 26: PRINT "Selected"; TAB(44);
  398. COLOR FRONTSEL, BACKSEL: PRINT "Test"
  399. COLOR 15, 3: LOCATE 15, 26: PRINT "Title"; TAB(44);
  400. COLOR FRONTTITLE, BACKTITLE: PRINT "Test"
  401. IF X = 2 THEN GOTO COLORS4
  402. IF X = 3 THEN GOTO COLORS5
  403. COLORS3:
  404. A$ = INKEY$
  405. IF A$ = CHR$(0) + CHR$(72) THEN BACK = BACK - 1
  406. IF A$ = CHR$(0) + CHR$(75) THEN FRONT = FRONT - 1
  407. IF A$ = CHR$(0) + CHR$(77) THEN FRONT = FRONT + 1
  408. IF A$ = CHR$(0) + CHR$(80) THEN BACK = BACK + 1
  409. IF A$ = CHR$(13) THEN GOTO COLORS4
  410. IF FRONT = 0 THEN FRONT = 1
  411. IF FRONT = 16 THEN FRONT = 15
  412. IF BACK = 0 THEN BACK = 1
  413. IF BACK = 10 THEN BACK = 9
  414. GOTO COLORS2
  415. COLORS4:
  416. A$ = INKEY$
  417. IF A$ = CHR$(0) + CHR$(72) THEN BACKSEL = BACKSEL - 1
  418. IF A$ = CHR$(0) + CHR$(75) THEN FRONTSEL = FRONTSEL - 1
  419. IF A$ = CHR$(0) + CHR$(77) THEN FRONTSEL = FRONTSEL + 1
  420. IF A$ = CHR$(0) + CHR$(80) THEN BACKSEL = BACKSEL + 1
  421. IF A$ = CHR$(13) THEN GOTO COLORS5
  422. IF FRONTSEL = 0 THEN FRONTSEL = 1
  423. IF FRONTSEL = 16 THEN FRONTSEL = 15
  424. IF BACKSEL = 0 THEN BACKSEL = 1
  425. IF BACKSEL = 10 THEN BACKSEL = 9
  426. X = 2
  427. GOTO COLORS2
  428. COLORS5:
  429. A$ = INKEY$
  430. IF A$ = CHR$(0) + CHR$(72) THEN BACKTITLE = BACKTITLE - 1
  431. IF A$ = CHR$(0) + CHR$(75) THEN FRONTTITLE = FRONTTITLE - 1
  432. IF A$ = CHR$(0) + CHR$(77) THEN FRONTTITLE = FRONTTITLE + 1
  433. IF A$ = CHR$(0) + CHR$(80) THEN BACKTITLE = BACKTITLE + 1
  434. IF A$ = CHR$(13) THEN GOTO 10
  435. IF FRONTTITLE = 0 THEN FRONTTITLE = 1
  436. IF FRONTTITLE = 16 THEN FRONTTITLE = 15
  437. IF BACKTITLE = 0 THEN BACKTITLE = 1
  438. IF BACKTITLE = 10 THEN BACKTITLE = 9
  439. X = 3: GOTO COLORS2
  440. 10 END SUB
  441.  
  442. SUB HELP
  443. LOCATE 6, 1
  444. COLOR 15, 2
  445. PRINT CHR$(201); STRING$(28, 205); CHR$(187)
  446. PRINT CHR$(186); "      Auto Dialer Help"; TAB(30); CHR$(186)
  447. PRINT CHR$(186); "Use the up and down arrow"; TAB(30); CHR$(186)
  448. PRINT CHR$(186); "to select the number you"; TAB(30); CHR$(186)
  449. PRINT CHR$(186); "want to dial. To dial it,"; TAB(30); CHR$(186)
  450. PRINT CHR$(186); "press enter. Press F5 to"; TAB(30); CHR$(186)
  451. PRINT CHR$(186); "bring up the dialing list"; TAB(30); CHR$(186)
  452. PRINT CHR$(186); "editor. To access the menus"; TAB(30); CHR$(186)
  453. PRINT CHR$(186); "at the top of the screen,"; TAB(30); CHR$(186)
  454. PRINT CHR$(186); "press alt and the letter"; TAB(30); CHR$(186)
  455. PRINT CHR$(186); "of the menu you want to"; TAB(30); CHR$(186)
  456. PRINT CHR$(186); "pull down. To exit, press"; TAB(30); CHR$(186)
  457. PRINT CHR$(186); "Alt-Q from the main screen."; TAB(30); CHR$(186)
  458. PRINT CHR$(186); "Press any key to continue."; TAB(30); CHR$(186)
  459. PRINT CHR$(200); STRING$(28, 205); CHR$(188)
  460. DO
  461. LOOP UNTIL INKEY$ <> ""
  462. LOCATE 6
  463. COLOR 15, 9
  464. END SUB
  465.  
  466. SUB LSTDEF
  467. SHARED BACK, FRONT, FRONTSEL, BACKSEL, FRONTTITLE, BACKTITLE, PATHDIR$, DIALSTR$, HANGUP$
  468. TEMP$ = ""
  469. LOCATE 15, 60
  470. COLOR 15, 3
  471. PRINT CHR$(201); STRING$(18, 205); CHR$(187)
  472. LOCATE 16, 60
  473. PRINT CHR$(186); "Filename: "; TAB(79); CHR$(186)
  474. LOCATE 17, 60
  475. PRINT CHR$(200); STRING$(18, 205); CHR$(188)
  476. LOCATE 16, 71
  477. FOR A = 1 TO 8
  478. A$ = INPUT$(1)
  479. IF A$ = CHR$(8) THEN
  480.         IF POS(0) = 55 THEN
  481.                 A = A - 1
  482.                 GOTO 3
  483.         END IF
  484.         LOCATE 16, (POS(0) - 1), 1
  485.         PRINT " ";
  486.         LOCATE 16, (POS(0) - 1)
  487.         A = A - 1
  488.         GOTO 3
  489. END IF
  490. IF A$ = CHR$(0) + CHR$(75) THEN
  491.         IF POS(0) = 55 THEN
  492.                 A = A - 1
  493.                 GOTO 3
  494.         END IF
  495.         LOCATE 16, (POS(0) - 1), 1
  496.         A = A - 1
  497.         GOTO 3
  498. END IF
  499. IF A$ = CHR$(0) + CHR$(77) THEN
  500.         IF POS(0) = 78 THEN
  501.                 A = A - 1
  502.                 GOTO 3
  503.         END IF
  504.         LOCATE 16, (POS(0) + 1), 1
  505.         A = A - 1
  506.         GOTO 3
  507. END IF
  508. IF A$ = CHR$(13) THEN GOTO 30
  509. PRINT UCASE$(A$);
  510. TEMP$ = TEMP$ + A$
  511. 3 NEXT A
  512. 30 FILENAM$ = TEMP$
  513. END SUB
  514.  
  515. SUB MODEM
  516. SHARED BACK, FRONT, FRONTSEL, BACKSEL, FRONTTITLE, BACKTITLE, PATHDIR$, DIALSTR$, HANGUP$
  517. TEMPA$ = DIALSTR$
  518. TEMPB$ = HANGUP$
  519. DIALSTR$ = ""
  520. HANGUP$ = ""
  521. COLOR 15, 3
  522. LOCATE 12, 25
  523. PRINT CHR$(218); STRING$(33, 196); CHR$(191)
  524. LOCATE 13, 25
  525. PRINT CHR$(179); TAB(59); CHR$(179)
  526. LOCATE 14, 25
  527. PRINT CHR$(179); TAB(59); CHR$(179)
  528. LOCATE 15, 25
  529. PRINT CHR$(192); STRING$(33, 196); CHR$(217)
  530. LOCATE 13, 26
  531. PRINT "Dialing string: ";
  532. LOCATE 14, 26
  533. PRINT "Hang up string: ";
  534. LOCATE 13, 42, 1
  535. FOR A = 42 TO 59
  536. A$ = INPUT$(1)
  537. IF A$ = CHR$(8) THEN
  538.         IF POS(0) = 42 THEN
  539.                 A = A - 1
  540.                 GOTO 60
  541.         END IF
  542.         TEMP$ = LEFT$(TEMP$, (LEN(TEMP$) - 1))
  543.         LOCATE 13, (POS(0) - 1), 1
  544.         PRINT " ";
  545.         LOCATE 13, (POS(0) - 1)
  546.         A = A - 1
  547.         GOTO 60
  548. END IF
  549. IF A$ = CHR$(13) THEN GOTO MODEM2
  550. PRINT UCASE$(A$);
  551. TEMP$ = TEMP$ + A$
  552. 60 NEXT A
  553. DIALSTR$ = TEMP$
  554. MODEM2:
  555. TEMP$ = ""
  556. LOCATE 14, 42, 1
  557. FOR A = 42 TO 59
  558. A$ = INPUT$(1)
  559. IF A$ = CHR$(8) THEN
  560.         IF POS(0) = 42 THEN
  561.                 A = A - 1
  562.                 GOTO 70
  563.         END IF
  564.         TEMP$ = LEFT$(TEMP$, (LEN(TEMP$) - 1))
  565.         LOCATE 13, (POS(0) - 1), 1
  566.         PRINT " ";
  567.         LOCATE 13, (POS(0) - 1)
  568.         A = A - 1
  569.         GOTO 70
  570. END IF
  571. IF A$ = CHR$(13) THEN GOTO 20
  572. PRINT UCASE$(A$);
  573. TEMP$ = TEMP$ + A$
  574. 70 NEXT A
  575. 20 HANGUP$ = TEMP$
  576. 40 END SUB
  577.  
  578.